package com.zhihao.infrastructure.dao.po;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Jackson
 * @description 抽奖活动订单  将”抽奖机会“抽象为”商品“，获取一次”抽奖机会“就像是下一笔”订单“
 *              为了防止业务意外错误，设计outBusinessNo(外部商务ID eg：签到ID、付款订单ID等获取途径)，可以后期用于维护数据一致性
 * @create 2024-03-02 13:21
 */
@Data
public class RaffleActivityOrder {

    /**
     * 自增ID
     */
    private Long id;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * sku
     */
    private Long sku;

    /**
     * 活动ID
     */
    private Long activityId;

    /**
     * 活动名称
     */
    private String activityName;

    /**
     * 抽奖策略ID
     */
    private Long strategyId;

    /**
     * 订单ID
     */
    private String orderId;

    /**
     * 下单时间
     */
    private Date orderTime;

    /**
     * 总次数
     */
    private Integer totalCount;

    /**
     * 日次数
     */
    private Integer dayCount;

    /**
     * 月次数
     */
    private Integer monthCount;
    /**
     * 支付金额【积分】 (抽奖活动订单支付金额/积分)---用于积分兑换抽奖次数  payAmount/rafflePrice=raffleCount
     */
    private BigDecimal payAmount;

    /**
     * 订单状态
     */
    private String state;

    /**
     * 业务仿重ID - 外部透传的，确保幂等()
     */
    private String outBusinessNo;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;


}
